www.gusucode.com > VC++ 宾馆管理系统(MSSQL) > VC++ 宾馆管理系统(MSSQL)/gusucode/Code/CheckRemainDLG.cpp
//Download by http://www.NewXing.com // CheckRemainDLG.cpp : implementation file // #include "stdafx.h" #include "hotel_mis.h" #include "CheckRemainDLG.h" #include "Hotel_MISView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CCheckRemainDLG dialog CCheckRemainDLG::CCheckRemainDLG(CWnd* pParent /*=NULL*/) : CDialog(CCheckRemainDLG::IDD, pParent) { //{{AFX_DATA_INIT(CCheckRemainDLG) m_iTypePrice = 0; m_sType = _T(""); m_sTop = _T(""); m_sBottom = _T(""); //}}AFX_DATA_INIT } void CCheckRemainDLG::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CCheckRemainDLG) DDX_Radio(pDX, IDD_CHECKREMAIN_RADIO_TYPEPRICE, m_iTypePrice); DDX_CBString(pDX, IDD_CHECKREMAIN_TYPE, m_sType); DDX_CBString(pDX, IDD_CHECKREMAIN_TOP, m_sTop); DDX_CBString(pDX, IDD_CHECKREMAIN_BOTTOM, m_sBottom); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CCheckRemainDLG, CDialog) //{{AFX_MSG_MAP(CCheckRemainDLG) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CCheckRemainDLG message handlers BOOL CCheckRemainDLG::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here // Init IDD_CHECKREMAIN_TYPE Combobox _variant_t strQuery, Holder; strQuery = "select distinct typename from roomtype"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); theApp.m_pADOSet->MoveFirst(); for (int i=0; i<iCount; i++) { Holder = theApp.m_pADOSet->GetCollect("typename"); ((CComboBox*)GetDlgItem(IDD_CHECKREMAIN_TYPE))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder); theApp.m_pADOSet->MoveNext(); } ((CComboBox*)GetDlgItem(IDD_CHECKREMAIN_TYPE))->SetCurSel(0); // Init IDD_CHECKREMAIN_TOP Combobox CString str; strQuery = "select distinct price from roomtype order by price"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); iCount = theApp.m_pADOSet->GetRecordCount(); theApp.m_pADOSet->MoveFirst(); for (i=0; i<iCount; i++) { Holder = theApp.m_pADOSet->GetCollect("price"); str.Format("%.2f", Holder.dblVal); ((CComboBox*)GetDlgItem(IDD_CHECKREMAIN_TOP))->InsertString(i, str); ((CComboBox*)GetDlgItem(IDD_CHECKREMAIN_BOTTOM))->InsertString(i, str); theApp.m_pADOSet->MoveNext(); } ((CComboBox*)GetDlgItem(IDD_CHECKREMAIN_TOP))->SetCurSel(0); ((CComboBox*)GetDlgItem(IDD_CHECKREMAIN_BOTTOM))->SetCurSel(0); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CCheckRemainDLG::OnOK() { // TODO: Add extra validation here UpdateData(true); _variant_t strQuery; if ( m_iTypePrice ) strQuery = "select * from rooms where roomprice>="+m_sBottom+" and roomprice<="+m_sTop+" and putup=0"; else strQuery = "select * from rooms where roomtype='"+m_sType+"' and putup=0"; CHotel_MISView* p = (CHotel_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView()); p->RefreshRoom(strQuery); CDialog::OnOK(); }